In many games, there is a virtual world or some other imagined playing space where a player of the game controls one or more player characters (herein “characters,” “player characters,” or “PCs”). Player characters can be considered in-game representations of the controlling player. As used here, the terms player, user, entity, and friend may refer to the in-game player character controlled by that player, user, entity, or friend, unless context suggests otherwise. A game display can display a representation of the player character. A game engine accepts inputs from the player, determines player character actions, decides outcomes of events, and presents the player with a game display illuminating what happened.
In some games, there are multiple players, wherein each player controls one or more player characters. In such games, when multiple persons are playing together, there may be game events and operations that can only be done, or are more successful, when multiple players are engaged in the task or operation.
In addition to characters actively managed by players (i.e., PCs), the game engine might also manage non-player characters (“NPCs”). A non-player character gets its movements, actions, decisions, etc. from the game engine, as opposed to getting them from inputs of a player.
An electronic social networking system typically operates with a social networking server or servers providing interaction between users such that a user can specify other users of the social networking system as “friends.” Alternatively, some social networking systems programmatically select certain users to be “friends” (e.g., those in the same geographic area). As should be apparent, a collection of users and the “friend” connections between users can form a social graph that can be traversed to find second, third and more remote connections between users, much like a graph of nodes connected by edges can be traversed.